﻿using System;
using System.Windows;
using System.Windows.Controls;
using System.Collections.Generic;
using System.Drawing;
using System.Linq;
using System.Text;
using System.ComponentModel;
using System.Runtime.InteropServices; 
using LEDHelper;
using LEDManager;
using LEDDataBase;
using System.Data;

namespace LEDContract
{ 
    /// <summary>
    /// 接入到控制台，发送到各LED窗口
    /// </summary>
    public partial class HZMLED
    { 
        LEDConsole2 ledctrl;
        public HZMLED()
        {
            
        } 
        /// <summary>
        /// 读取所有的LED列表，加入到字典中，并且根据他们的设定进行初始化
        /// </summary>
        /// <returns></returns>
        /// //动态链接库初始化
        public Int32 LED_Startup()
        {
            Int32 result = -1;
            try
            {
                if (ledctrl == null)
                {
                    ledctrl = new LEDConsole2();
                    ledctrl.Show();
                }
                ledctrl.LED_Startup();
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
                result = -1;
            }
            result = 0;
            return result;
        } 
        /// <summary>
        ///    //动态链接库销毁
        /// </summary>
        public void LED_Cleanup()
        {
            try
            {
                ledctrl.Close();
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
        }
        /// <summary>
        /// 
        //创建控制卡在线监听服务
        //  serverindex 控制卡在线监听服务编号(可以在多个socket udp端口监听)
        //  localport 本地端口
        /// </summary>
        /// <param name="serverindex"></param>
        /// <param name="localport"></param>
        public void LED_Report_CreateServer(Int32 serverindex, Int32 localport)
        {
            
        }
        /// <summary>
        ///  //删除控制卡在线监听服务
        //  serverindex 控制卡在线监听服务编号
        /// </summary>
        /// <param name="serverindex"></param>
        public void LED_Report_RemoveServer(Int32 serverindex)
        {
        }


        public void LED_Report_RemoveServer(Int32 serverindex)
        { }

        //删除全部控制卡在线监听服务 
        public void LED_Report_RemoveAllServer()
        { }

        //获得控制卡在线列表
        //必须先创建控制卡在线监听服务，即调用LED_Report_CreateServer后使用，否则返回值无效
        //  serverindex 控制卡在线监听服务编号
        //  plist 输出在线列表的用户外部缓冲区，
        //        如果传入空(NULL/0)，则输出到动态链接库内部的缓冲区，继续调用下面的接口取得详细信息
        //  count 最大读取个数
        //--返回值-- 小于0表示失败(未创建该在线监听服务)，大于等于0表示在线的控制卡数量

        public int LED_Report_GetOnlineList(Int32 serverindex, Int32 listaddr, Int32 count)
        { }

        //获得某个在线控制卡的上报控制卡名称
        //必须先创建控制卡在线监听服务，即调用LED_Report_CreateServer后使用，否则返回值无效
        //  serverindex 控制卡在线监听服务编号
        //  itemindex 该监听服务的在线列表中，在线控制卡的编号
        //--返回值-- 在线控制卡的上报控制卡名称

        public String LED_Report_GetOnlineItemName(Int32 serverindex, Int32 itemindex)
        { }

        //获得某个在线控制卡的上报控制卡IP地址
        //必须先创建控制卡在线监听服务，即调用LED_Report_CreateServer后使用，否则返回值无效
        //  serverindex 控制卡在线监听服务编号
        //  itemindex 该监听服务的在线列表中，在线控制卡的编号
        //--返回值-- 在线控制卡的IP地址

        public String LED_Report_GetOnlineItemHost(Int32 serverindex, Int32 itemindex)
        { }

        //获得某个在线控制卡的上报控制卡远程UDP端口号
        //必须先创建控制卡在线监听服务，即调用LED_Report_CreateServer后使用，否则返回值无效
        //  serverindex 控制卡在线监听服务编号
        //  itemindex 该监听服务的在线列表中，在线控制卡的编号
        //--返回值-- 在线控制卡的远程UDP端口号

        public int LED_Report_GetOnlineItemPort(Int32 serverindex, Int32 itemindex)
        { }

        //获得某个在线控制卡的上报控制卡地址
        //必须先创建控制卡在线监听服务，即调用LED_Report_CreateServer后使用，否则返回值无效
        //  serverindex 控制卡在线监听服务编号
        //  itemindex 该监听服务的在线列表中，在线控制卡的编号
        //--返回值-- 在线控制卡的硬件地址

        public int LED_Report_GetOnlineItemAddr(Int32 serverindex, Int32 itemindex)
        { }

        //预览显示内容

        public void LED_Preview(Int32 index, Int32 width, Int32 height, string previewfile)
        { }

        //预览显示内容

        public void LED_PreviewFile(Int32 width, Int32 height, string previewfile)
        { }

        //设置每次命令执行完成后，是否关闭设备。=0表示不关闭；=1表示关闭。

        public void LED_CloseDeviceOnTerminate(int AValue)
        { }
         

        //复位控制卡节目播放，重新显示控制卡Flash中存储的节目

        public object LED_ResetDisplay(ref TSenderParam param)
        { 
        }

        //重启控制卡

        public int LED_Reboot(ref TSenderParam param)
        { }

        //读取控制卡温湿度值

        public int LED_GetTemperatureHumidity(ref TSenderParam param)
        { }

        //设置控制卡电源 value=LED_POWER_ON表示开启电源 value=LED_POWER_OFF表示关闭电源

        public int LED_SetPower(ref TSenderParam param, Int32 value)
        { }

        //读取控制卡电源状态

        public int LED_GetPower(ref TSenderParam param)
        { }

        //设置控制卡亮度 value取值范围0-7

        public int LED_SetBright(ref TSenderParam param, Int32 value)
        { }

        //读取控制卡亮度

        public int LED_GetBright(ref TSenderParam param)
        { }

        //校正时间，以当前计算机的系统时间校正控制卡的时钟

        public int LED_AdjustTime(ref TSenderParam param)
        { }

        //校正时间扩展，以指定的时间校正控制卡的时钟

        public int LED_AdjustTimeEx(ref TSenderParam param, ref TSystemTime time)
        { }

        //发送节目数据 index为MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject函数的返回值

        public int LED_SendToScreen(ref TSenderParam param, Int32 index)
        { }

        //设置UDP通讯的参数

        public int LED_UDP_SenderParam(Int32 param_index, Int32 locport, string host, Int32 rmtport, Int32 address, Int32 notifymode, Int32 wmhandle, Int32 wmmessage)
        { }

        //设置串口通讯的参数

        public int LED_COM_SenderParam(Int32 paramindex, Int32 comport, Int32 baudrate, Int32 address, Int32 notifymode, Int32 wmhandle, Int32 wmmessage)
        { }

        //发送节目数据 index为MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject函数的返回值

        public int LED_SendToScreen2(Int32 param_index, Int32 index)
        { }

        //压缩数据

        public int LED_Compress(Int32 param_index)
        { }

        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //控制卡参数读取和设置相关API

        //读取控制卡参数，读取到的结果保存到动态链接库中

        public int LED_Cache_GetBoardParam(ref TSenderParam param)
        { }


        public int LED_Cache_GetBoardParam2(Int32 param_index)
        { }

        //取得控制卡IP地址

        public String LED_Cache_GetBoardParam_IP()
        { }

        //取得控制卡MAC地址

        public String LED_Cache_GetBoardParam_Mac()
        { }

        //取得控制卡设备地址

        public int LED_Cache_GetBoardParam_Addr()
        { }

        //取得控制卡设备宽度

        public int LED_Cache_GetBoardParam_Width()
        { }

        //取得控制卡设备高度

        public int LED_Cache_GetBoardParam_Height()
        { }

        //取得控制卡设备亮度

        public int LED_Cache_GetBoardParam_Brightness()
        { }

        //设置控制卡IP地址

        public void LED_Cache_SetBoardParam_IP(String value)
        { }

        //设置控制卡MAC地址

        public void LED_Cache_SetBoardParam_Mac(String value)
        { }

        //设置控制卡设备地址

        public void LED_Cache_SetBoardParam_Addr(Int32 value)
        { }

        //设置控制卡设备宽度

        public void LED_Cache_SetBoardParam_Width(Int32 value)
        { }

        //设置控制卡设备高度

        public void LED_Cache_SetBoardParam_Height(Int32 value)
        { }

        //设置控制卡设备亮度

        public void LED_Cache_SetBoardParam_Brightness(Int32 value) 
        { }

        //设置控制卡参数

        public int LED_Cache_SetBoardParam(ref TSenderParam param)
        { }


        public int LED_Cache_SetBoardParam2(Int32 param_index)
        { }

        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////
        //读取控制卡当前显示内容相关API

        //读取控制卡当前显示内容

        public int LED_GetPlayContent(ref TSenderParam param)
        { }

        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        //节目数据组织形式
        //  ROOT
        //   |
        //   |---Chapter(节目)
        //   |      |
        //   |      |---Region(区域/分区)
        //   |      |     |
        //   |      |     |---Leaf(页面)
        //   |      |     |    |
        //   |      |     |    |---Object(对象[文字、时钟、图片等])
        //   |      |     |    |
        //   |      |     |    |---Object(对象[文字、时钟、图片等])
        //   |      |     |    |
        //   |      |     |    |   ......
        //   |      |     |    |
        //   |      |     |
        //   |      |     |---Leaf(页面)
        //   |      |     |
        //   |      |     |   ......
        //   |      |     |
        //   |      |
        //   |      |---Region(区域/分区)
        //   |      |
        //   |      |   ......
        //   |      |
        //   |---Chapter(节目)
        //   |
        //   |   ......

        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        //设置显示屏旋转 
        //  rotate 旋转方式 =0不旋转 =1逆时针旋转90度 =2顺时针旋转90度
        //  metrix_width 显示屏宽度
        //  metrix_height 显示屏高度

        public int SetRotate(Int32 rotate, Int32 metrix_width, Int32 metrix_height)
        { }

        //生成节目数据（从VisionShow软件编辑的Vsq文件载入，并生成要下发的节目数据）
        //  RootType 为节目类型；=ROOT_PLAY表示更新控制卡RAM中的节目(掉电丢失)；=ROOT_DOWNLOAD表示更新控制卡Flash中的节目(掉电不丢失)
        //  ColorMode 为颜色模式；取值为COLOR_MODE_MONO或者COLOR
        //  survive 为RAM节目生存时间，在RootType=ROOT_PLAY时有效，当RAM节目播放达到时间后，恢复显示FLASH中的节目
        //  filename 由VisionShow软件编辑的节目文件

        public int MakeFromVsqFile(string filename, Int32 RootType, Int32 ColorMode, Int32 survive)
        { }

        //生成节目数据
        //  RootType 为节目类型；=ROOT_PLAY表示更新控制卡RAM中的节目(掉电丢失)；=ROOT_DOWNLOAD表示更新控制卡Flash中的节目(掉电不丢失)
        //  ColorMode 为颜色模式；取值为COLOR_MODE_MONO或者COLOR
        //  survive 为RAM节目生存时间，在RootType=ROOT_PLAY时有效，当RAM节目播放达到时间后，恢复显示FLASH中的节目

        public int MakeRoot(Int32 RootType, Int32 ColorMode, Int32 survive);

        //生成节目数据，后续需要调用[AddRegion]->[AddLeaf]->[AddObject]->[AddWindows/AddDateTime等]
        //  RootType 必须设为ROOT_PLAY_CHAPTER
        //  ActionMode 必须设为0
        //  ChapterIndex 要更新的节目序号
        //  ColorMode 同MakeRoot中的定义
        //  time 播放的时间长度
        //  wait 等待模式，=WAIT_CHILD，表示当达到播放时间长度时，需要等待子节目播放完成再切换；
        //                 =WAIT_USE_TIME，表示当达到播放时间长度时，不等待子节目播放完成，直接切换下一节目

        public int MakeChapter(Int32 RootType, Int32 ActionMode, Int32 ChapterIndex, Int32 ColorMode, UInt32 time, ushort wait)
        { }

        //生成区域/分区，后续需要调用[AddLeaf]->[AddObject]->[AddWindows/AddDateTime等]
        //  RootType 必须设为ROOT_PLAY_REGION
        //  ActionMode 必须设为0
        //  ChapterIndex 要更新的节目序号
        //  RegionIndex 要更新的区域/分区序号
        //  ColorMode 同MakeRoot中的定义
        //  left、top、width、height 左、上、宽度、高度
        //  border 流水边框

        public int MakeRegion(Int32 RootType, Int32 ActionMode, Int32 ChapterIndex, Int32 RegionIndex,
            Int32 ColorMode, Int32 left, Int32 top, Int32 width, Int32 height, Int32 border)
        { }

        //生成页面，后续需要调用[AddObject]->[AddWindows/AddDateTime等]
        //  RootType 必须设为ROOT_PLAY_LEAF
        //  ActionMode 必须设为0
        //  ChapterIndex 要更新的节目序号
        //  RegionIndex 要更新的区域/分区序号
        //  LeafIndex 要更新的页面序号
        //  ColorMode 同MakeRoot中的定义
        //  time 播放的时间长度
        //  wait 等待模式，=WAIT_CHILD，表示当达到播放时间长度时，需要等待子节目播放完成再切换；
        //                 =WAIT_USE_TIME，表示当达到播放时间长度时，不等待子节目播放完成，直接切换下一页面
        public int MakeLeaf(Int32 RootType, Int32 ActionMode, Int32 ChapterIndex, Int32 RegionIndex, Int32 LeafIndex,
           Int32 ColorMode, UInt32 time, ushort wait)
        { }

        //生成播放对象，后续需要调用[AddWindows/AddDateTime等]
        //  RootType 必须设为ROOT_PLAY_LEAF
        //  ActionMode 必须设为0
        //  ChapterIndex 要更新的节目序号
        //  RegionIndex 要更新的区域/分区序号
        //  LeafIndex 要更新的页面序号
        //  ObjectIndex 要更新的对象序号
        //  ColorMode 同MakeRoot中的定义
        public int MakeObject(Int32 RootType, Int32 ActionMode, Int32 ChapterIndex, Int32 RegionIndex, Int32 LeafIndex, Int32 ObjectIndex, Int32 ColorMode)
        { }

        //添加节目
        //  num 节目数据缓冲区编号，是MakeRoot的返回值
        //  time 播放的时间长度(单位为毫秒)
        //  wait 等待模式，=WAIT_CHILD，表示当达到播放时间长度时，需要等待子节目播放完成再切换；
        //                 =WAIT_USE_TIME，表示当达到播放时间长度时，不等待子节目播放完成，直接切换下一节目
        public int AddChapter(ushort num, UInt32 time, ushort wait)
        { }

        //添加节目
        //  num 节目数据缓冲区编号，是MakeRoot的返回值
        //  time 播放的时间长度(单位为毫秒)
        //  wait 等待模式，=WAIT_CHILD，表示当达到播放时间长度时，需要等待子节目播放完成再切换；
        //                 =WAIT_USE_TIME，表示当达到播放时间长度时，不等待子节目播放完成，直接切换下一节目
        //  kind 播放计划类型，=0始终播放，=1按照一周每日时间播放，=2按照指定起止日期时间播放，=3不播放
        //  week 一周有效日期，bit0到bit6表示周日到周六有效，当kind=1时，本参数起作用
        //  fromtime 有效起始时间
        //  totime 有效结束时间
        public int AddChapterEx(ushort num, UInt32 time, ushort wait, ushort kind, ushort week, ref TTimeStamp fromtime, ref TTimeStamp totime)
        { }

        //添加区域/分区
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  border 流水边框
        public int AddRegion(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 border)
        { }

        //添加页面
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion的返回值
        //  time 播放的时间长度(单位为毫秒)
        //  wait 等待模式，=WAIT_CHILD，表示当达到播放时间长度时，需要等待子节目播放完成再切换；
        //                 =WAIT_USE_TIME，表示当达到播放时间长度时，不等待子节目播放完成，直接切换下一页面
        public int AddLeaf(ushort num, UInt32 time, ushort wait);

        //////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        //添加日期时间显示
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        //  fontname 字体名称
        //  fontsize 字体大小
        //  fontcolor 字体颜色
        //  fontstyle 字体样式 举例：=WFS_BOLD表示粗体；=WFS_ITALIC表示斜体；=WFS_BOLD+WFS_ITALIC表示粗斜体
        //  year_offset 年偏移量
        //  month_offset 月偏移量
        //  day_offset 日偏移量
        //  sec_offset 秒偏移量
        //  format 显示格式 
        //      #y表示年 #m表示月 #d表示日 #h表示时 #n表示分 #s表示秒 #w表示星期 #c表示农历
        //      举例： format="#y年#m月#d日 #h时#n分#s秒 星期#w 农历#c"时，显示为"2009年06月27日 12时38分45秒 星期六 农历五月初五"
        public int AddDateTime(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 border,
           string fontname, Int32 fontsize, Int32 fontcolor, Int32 fontstyle,
           Int32 year_offset, Int32 month_offset, Int32 day_offset, Int32 sec_offset, string format)
        { }

        //添加日期时间显示
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        //  vertical 是否纵向显示 =0正常 =1逆时针旋转纵向显示 =2顺时针旋转纵向显示
        //  fontname 字体名称
        //  fontsize 字体大小
        //  fontcolor 字体颜色
        //  fontstyle 字体样式 举例：=WFS_BOLD表示粗体；=WFS_ITALIC表示斜体；=WFS_BOLD+WFS_ITALIC表示粗斜体
        //  year_offset 年偏移量
        //  month_offset 月偏移量
        //  day_offset 日偏移量
        //  sec_offset 秒偏移量
        //  format 显示格式 
        //      #y表示年 #m表示月 #d表示日 #h表示时 #n表示分 #s表示秒 #w表示星期 #c表示农历
        //      举例： format="#y年#m月#d日 #h时#n分#s秒 星期#w 农历#c"时，显示为"2009年06月27日 12时38分45秒 星期六 农历五月初五"
        public int AddDateTimeEx(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 border, Int32 vertical,
           string fontname, Int32 fontsize, Int32 fontcolor, Int32 fontstyle,
           Int32 year_offset, Int32 month_offset, Int32 day_offset, Int32 sec_offset, string format)
        { }

        //添加作战时间显示
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        //  fontname 字体名称
        //  fontsize 字体大小
        //  fontcolor 字体颜色
        //  fontstyle 字体样式 举例：=WFS_BOLD表示粗体；=WFS_ITALIC表示斜体；=WFS_BOLD+WFS_ITALIC表示粗斜体
        //  format 显示格式 
        //      #y表示年 #m表示月 #d表示日 #h表示时 #n表示分 #s表示秒 #w表示星期
        //  basetime 作战时间
        //  fromtime 开始时间
        //  totime 结束时间
        //  step 计时走秒时间步长（多少毫秒走一秒）
        public int AddCampaignEx(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 border,
           string fontname, Int32 fontsize, Int32 fontcolor, Int32 fontstyle,
           string format, ref TTimeStamp basetime, ref TTimeStamp fromtime, ref TTimeStamp totime, Int32 step)
        { }

        //添加倒计时显示
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        //  countertype 计时类型 0(CT_COUNTUP)为正计时，1(CT_COUNTDOWN)为倒计时
        //  format 显示格式 
        //  fontname 字体名称
        //  fontsize 字体大小
        //  fontcolor 字体颜色
        //  fontstyle 字体样式 举例：=WFS_BOLD表示粗体；=WFS_ITALIC表示斜体；=WFS_BOLD+WFS_ITALIC表示粗斜体
        //  basetime 作战时间
        public int AddCounter(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 border, Int32 countertype, Int32 format,
           string fontname, Int32 fontsize, Int32 fontcolor, Int32 fontstyle, ref TTimeStamp basetime)
        { }

        //添加模拟时钟
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        //  offset 秒偏移量
        //  bkcolor: 背景颜色
        //  bordercolor: 边框颜色
        //  borderwidth: 边框颜色
        //  bordershape: 边框形状 =0表示正方形；=1表示圆角方形；=2表示圆形
        //  dotradius: 刻度距离表盘中心半径
        //  adotwidth: 0369点刻度大小
        //  adotcolor: 0369点刻度颜色
        //  bdotwidth: 其他点刻度大小
        //  bdotcolor: 其他点刻度颜色
        //  hourwidth: 时针粗细
        //  hourcolor: 时针颜色
        //  minutewidth: 分针粗细
        //  minutecolor: 分针颜色
        //  secondwidth: 秒针粗细
        //  secondcolor: 秒针颜色
        public int AddClock(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 border, Int32 offset,
           UInt32 bkcolor, UInt32 bordercolor, UInt32 borderwidth, Int32 bordershape,
           Int32 dotradius, Int32 adotwidth, UInt32 adotcolor, Int32 bdotwidth, UInt32 bdotcolor,
           Int32 hourwidth, UInt32 hourcolor, Int32 minutewidth, UInt32 minutecolor, Int32 secondwidth, UInt32 secondcolor)
        { }

        //添加模拟时钟
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        //  vertical 是否纵向显示 =0正常 =1逆时针旋转纵向显示 =2顺时针旋转纵向显示
        //  offset 秒偏移量
        //  bkcolor: 背景颜色
        //  bordercolor: 边框颜色
        //  borderwidth: 边框颜色
        //  bordershape: 边框形状 =0表示正方形；=1表示圆角方形；=2表示圆形
        //  dotradius: 刻度距离表盘中心半径
        //  adotwidth: 0369点刻度大小
        //  adotcolor: 0369点刻度颜色
        //  bdotwidth: 其他点刻度大小
        //  bdotcolor: 其他点刻度颜色
        //  hourwidth: 时针粗细
        //  hourcolor: 时针颜色
        //  minutewidth: 分针粗细
        //  minutecolor: 分针颜色
        //  secondwidth: 秒针粗细
        //  secondcolor: 秒针颜色
        public int AddClockEx2(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 border, Int32 vertical, Int32 offset,
           UInt32 bkcolor, UInt32 bordercolor, UInt32 borderwidth, Int32 bordershape,
           Int32 dotradius, Int32 adotwidth, UInt32 adotcolor, Int32 bdotwidth, UInt32 bdotcolor,
           UInt32 cdotvisible, Int32 cdotwidth, UInt32 cdotcolor,
           Int32 hourwidth, UInt32 hourcolor, Int32 minutewidth, UInt32 minutecolor, Int32 secondwidth, UInt32 secondcolor)
        { }

        //添加动画
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        //  filename avi文件名
        //  stretch: 图像是否拉伸以适应对象大小
        public int AddMovie(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 border, string filename, Int32 stretch)
        { }

        //添加图片组播放
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        public int AddWindows(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 border)
        { }

        //添加图片组的子图片 此函数要跟在AddWindows后面调用
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  dc 源图片DC句柄
        //  width 图片宽度
        //  height 图片高度
        //  inmethod 引入方式(下面有列表说明)
        //  inspeed 引入速度(取值范围0-5，从快到慢)
        //  outmethod 引出方式(下面有列表说明)
        //  outspeed 引出速度(取值范围0-5，从快到慢)
        //  stopmethod 停留方式(下面有列表说明)
        //  stopspeed 停留速度(取值范围0-5，从快到慢)
        //  stoptime 停留时间(单位毫秒)
        public int AddChildWindow(ushort num, UInt32 dc, Int32 width, Int32 height, Int32 alignment,
           Int32 inmethod, Int32 inspeed, Int32 outmethod, Int32 outspeed, Int32 stopmethod, Int32 stopspeed, Int32 stoptime)
        { }

        //添加图片组的子图片 此函数要跟在AddWindows后面调用
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  filename 图片文件名
        //  inmethod 引入方式(下面有列表说明)
        //  inspeed 引入速度(取值范围0-5，从快到慢)
        //  outmethod 引出方式(下面有列表说明)
        //  outspeed 引出速度(取值范围0-5，从快到慢)
        //  stopmethod 停留方式(下面有列表说明)
        //  stopspeed 停留速度(取值范围0-5，从快到慢)
        //  stoptime 停留时间(单位毫秒)
        public int AddChildPicture(ushort num, string filename, Int32 alignment,
           Int32 inmethod, Int32 inspeed, Int32 outmethod, Int32 outspeed, Int32 stopmethod, Int32 stopspeed, Int32 stoptime)
        { }

        //添加图片组的子图片 此函数要跟在AddWindows后面调用
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  str 文字字符串
        //  fontname 字体名称
        //  fontsize 字体大小
        //  fontcolor 字体颜色
        //  fontstyle 字体样式 举例：=WFS_BOLD表示粗体；=WFS_ITALIC表示斜体；=WFS_BOLD+WFS_ITALIC表示粗斜体
        //  wordwrap 是否自动换行 =1自动换行；=0不自动换行
        //  inmethod 引入方式(下面有列表说明)
        //  inspeed 引入速度(取值范围0-5，从快到慢)
        //  outmethod 引出方式(下面有列表说明)
        //  outspeed 引出速度(取值范围0-5，从快到慢)
        //  stopmethod 停留方式(下面有列表说明)
        //  stopspeed 停留速度(取值范围0-5，从快到慢)
        //  stoptime 停留时间(单位毫秒)
        public int AddChildText(ushort num, string str, string fontname, Int32 fontsize, Int32 fontcolor, Int32 fontstyle, Int32 wordwrap, Int32 alignment,
           Int32 inmethod, Int32 inspeed, Int32 outmethod, Int32 outspeed, Int32 stopmethod, Int32 stopspeed, Int32 stoptime)
        { }

        //添加图片组的子图片 此函数要跟在AddWindows后面调用
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  str 文字字符串
        //  fontname 字体名称
        //  fontsize 字体大小
        //  fontcolor 字体颜色
        //  fontstyle 字体样式 举例：=WFS_BOLD表示粗体；=WFS_ITALIC表示斜体；=WFS_BOLD+WFS_ITALIC表示粗斜体
        //  wordwrap 是否自动换行 =1自动换行；=0不自动换行
        //  inmethod 引入方式(下面有列表说明)
        //  inspeed 引入速度(取值范围0-5，从快到慢)
        //  outmethod 引出方式(下面有列表说明)
        //  outspeed 引出速度(取值范围0-5，从快到慢)
        //  stopmethod 停留方式(下面有列表说明)
        //  stopspeed 停留速度(取值范围0-5，从快到慢)
        //  stoptime 停留时间(单位毫秒)
        public int AddChildTextEx(ushort num, string str, string fontname, Int32 fontsize, Int32 fontcolor, Int32 fontstyle, Int32 autofitsize, Int32 wordwrap, Int32 vertical, Int32 alignment, Int32 verticalspace, Int32 horizontalfit,
           Int32 inmethod, Int32 inspeed, Int32 outmethod, Int32 outspeed, Int32 stopmethod, Int32 stopspeed, Int32 stoptime)
        { }

        //添加内码文字组播放
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        public int AddStrings(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 border)
        { }

        //添加图片组的子图片 此函数要跟在AddWindows后面调用
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  str 文字字符串
        //  fontset 字库 =FONTSET_16P表示16点阵字库；=FONTSET_24P表示24点阵字库
        //  color 颜色
        //  inmethod 引入方式(下面有列表说明)
        //  inspeed 引入速度(取值范围0-5，从快到慢)
        //  outmethod 引出方式(下面有列表说明)
        //  outspeed 引出速度(取值范围0-5，从快到慢)
        //  stopmethod 停留方式(下面有列表说明)
        //  stopspeed 停留速度(取值范围0-5，从快到慢)
        //  stoptime 停留时间(单位毫秒)
        public int AddChildString(ushort num, string str, Int32 fontset, Int32 color,
           Int32 inmethod, Int32 inspeed, Int32 outmethod, Int32 outspeed, Int32 stopmethod, Int32 stopspeed, Int32 stoptime)
        { }

        //添加图片点阵播放
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        //  dc 源图片DC句柄
        //  src_width 图片宽度
        //  src_height 图片高度
        //  inmethod 引入方式(下面有列表说明)
        //  inspeed 引入速度(取值范围0-5，从快到慢)
        //  outmethod 引出方式(下面有列表说明)
        //  outspeed 引出速度(取值范围0-5，从快到慢)
        //  stopmethod 停留方式(下面有列表说明)
        //  stopspeed 停留速度(取值范围0-5，从快到慢)
        //  stoptime 停留时间(单位毫秒)
        public int AddWindow(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 border,
           UInt32 dc, Int32 src_width, Int32 src_height, Int32 alignment,
           Int32 inmethod, Int32 inspeed, Int32 outmethod, Int32 outspeed, Int32 stopmethod, Int32 stopspeed, Int32 stoptime)
        { }

        //添加图片文件播放
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        //  filename 图片文件
        //  inmethod 引入方式(下面有列表说明)
        //  inspeed 引入速度(取值范围0-5，从快到慢)
        //  outmethod 引出方式(下面有列表说明)
        //  outspeed 引出速度(取值范围0-5，从快到慢)
        //  stopmethod 停留方式(下面有列表说明)
        //  stopspeed 停留速度(取值范围0-5，从快到慢)
        //  stoptime 停留时间(单位毫秒)
        public int AddPicture(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 border, string filename, Int32 alignment,
           Int32 inmethod, Int32 inspeed, Int32 outmethod, Int32 outspeed, Int32 stopmethod, Int32 stopspeed, Int32 stoptime)
        { }

        //添加表格
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  profile 表格配置文件
        //  content 表格内容，行之间以回车换行分割，列之间以'|'分割
        //  inmethod 引入方式(下面有列表说明)
        //  inspeed 引入速度(取值范围0-5，从快到慢)
        //  outmethod 引出方式(下面有列表说明)
        //  outspeed 引出速度(取值范围0-5，从快到慢)
        //  stopmethod 停留方式(下面有列表说明)
        //  stopspeed 停留速度(取值范围0-5，从快到慢)
        //  stoptime 停留时间(单位毫秒)
        public int AddTable(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, string profile, string content,
           Int32 inmethod, Int32 inspeed, Int32 outmethod, Int32 outspeed, Int32 stopmethod, Int32 stopspeed, Int32 stoptime)
        { }

        //添加文字播放
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        //  str 文字字符串
        //  fontname 字体名称
        //  fontsize 字体大小
        //  fontcolor 字体颜色
        //  fontstyle 字体样式 举例：=WFS_BOLD表示粗体；=WFS_ITALIC表示斜体；=WFS_BOLD+WFS_ITALIC表示粗斜体
        //  wordwrap 是否自动换行 =1自动换行；=0不自动换行
        //  inmethod 引入方式(下面有列表说明)
        //  inspeed 引入速度(取值范围0-5，从快到慢)
        //  outmethod 引出方式(下面有列表说明)
        //  outspeed 引出速度(取值范围0-5，从快到慢)
        //  stopmethod 停留方式(下面有列表说明)
        //  stopspeed 停留速度(取值范围0-5，从快到慢)
        //  stoptime 停留时间(单位毫秒)
        public int AddText(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 border,
           string str, string fontname, Int32 fontsize, Int32 fontcolor, Int32 fontstyle, Int32 wordwrap, Int32 alignment,
           Int32 inmethod, Int32 inspeed, Int32 outmethod, Int32 outspeed, Int32 stopmethod, Int32 stopspeed, Int32 stoptime)
        { }

        //添加文字播放
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        //  str 文字字符串
        //  fontname 字体名称
        //  fontsize 字体大小
        //  fontcolor 字体颜色
        //  fontstyle 字体样式 举例：=WFS_BOLD表示粗体；=WFS_ITALIC表示斜体；=WFS_BOLD+WFS_ITALIC表示粗斜体
        //  autofitsize 字体自适应显示区域
        //  wordwrap 是否自动换行 =1自动换行；=0不自动换行
        //  vertical 是否纵向显示 =0正常 =1逆时针旋转纵向显示 =2顺时针旋转纵向显示
        //  alignment 对齐方式 =0靠左 =1居中 =2靠右
        //  verticalspace 行间距
        //  horizontalfit 横向自适应
        //  inmethod 引入方式(下面有列表说明)
        //  inspeed 引入速度(取值范围0-5，从快到慢)
        //  outmethod 引出方式(下面有列表说明)
        //  outspeed 引出速度(取值范围0-5，从快到慢)
        //  stopmethod 停留方式(下面有列表说明)
        //  stopspeed 停留速度(取值范围0-5，从快到慢)
        //  stoptime 停留时间(单位毫秒)
        public int AddTextEx3(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 flag,
           string str, string fontname, Int32 fontsize, Int32 fontcolor, Int32 fontstyle, Int32 bkcolor, Int32 autofitsize, Int32 wordwrap,
           Int32 vertical, Int32 alignment, Int32 verticalspace, Int32 horizontalfit,
           Int32 inmethod, Int32 inspeed, Int32 outmethod, Int32 outspeed, Int32 stopmethod, Int32 stopspeed, Int32 stoptime)
        { }

        //添加内码文字播放
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        //  str 文字字符串
        //  fontset 字库 =FONTSET_16P表示16点阵字库；=FONTSET_24P表示24点阵字库
        //  color 颜色
        //  inmethod 引入方式(下面有列表说明)
        //  inspeed 引入速度(取值范围0-5，从快到慢)
        //  outmethod 引出方式(下面有列表说明)
        //  outspeed 引出速度(取值范围0-5，从快到慢)
        //  stopmethod 停留方式(下面有列表说明)
        //  stopspeed 停留速度(取值范围0-5，从快到慢)
        //  stoptime 停留时间(单位毫秒)
        public int AddString(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 border,
           string str, Int32 fontset, Int32 color,
           Int32 inmethod, Int32 inspeed, Int32 outmethod, Int32 outspeed, Int32 stopmethod, Int32 stopspeed, Int32 stoptime)
        { }

        //添加温度显示
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        //  fontname 字体名称
        //  fontsize 字体大小
        //  fontcolor 字体颜色
        //  fontstyle 字体样式 举例：=WFS_BOLD表示粗体；=WFS_ITALIC表示斜体；=WFS_BOLD+WFS_ITALIC表示粗斜体
        public int AddTemperature(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 border,
           string fontname, Int32 fontsize, Int32 fontcolor, Int32 fontstyle)
        { }

        //添加湿度显示
        //  num 节目数据缓冲区编号，是MakeRoot、MakeChapter、MakeRegion、MakeLeaf、MakeObject的返回值
        //  left、top、width、height 左、上、宽度、高度
        //  transparent 是否透明 =1表示透明；=0表示不透明
        //  border 流水边框(未实现)
        //  fontname 字体名称
        //  fontsize 字体大小
        //  fontcolor 字体颜色
        //  fontstyle 字体样式 举例：=WFS_BOLD表示粗体；=WFS_ITALIC表示斜体；=WFS_BOLD+WFS_ITALIC表示粗斜体
        public int AddHumidity(ushort num, Int32 left, Int32 top, Int32 width, Int32 height, Int32 transparent, Int32 border,
           string fontname, Int32 fontsize, Int32 fontcolor, Int32 fontstyle)
        { }
        public void LED_RegLED(Dictionary<string,string>LEDPara)
        {
            ledctrl.AddLED(LEDPara);
        }
        public string LED_GetLEDList()
        {
            return ledctrl.GetLEDList();
        }
        public string LEDGetIP(int nLEDID)
        {
            return ledctrl.LEDGetIP(nLEDID);
        }

        public Int32 LED_CopyScreen(int nLEDID)
        {
            Int32 result = 0; 
            try
            {
                result = ledctrl.LED_CopyScreen(nLEDID);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            result = 0;
            return result;
        }
      ///
      /// 3.3	检查LED设备是否正常
      /// 定义：int LED_IsDeviceOK( int nLEDID );
      /// 功能：检测指定的屏幕显示设备是否正常运行
      /// 输入：nLEDID - 设备ID；
      /// 返回：0表示正常， -1表示出现异常。
        public Int32 LED_IsDeviceOK(int nLEDID)
        {
            Int32 result = 0; 
            try
            {
                result = ledctrl.LED_IsDeviceOK(nLEDID);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            result = 0;
            return result;
        }
        public Int32 LED_SwitchPower(int nLEDID, int nTurnOn)
        {
            Int32 result = 0; 
            try
            {
                result = ledctrl.LED_SwitchPower(nLEDID, nTurnOn);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            result = 0;
            return result;
        }
        /// <summary>
        /// 函数：long LED_IsDeviceTurnOn( int nLEDID );
        /// 功能：查询远程显示设备是否打开；
        /// 输入：nLEDID - 设备ID；
        /// 返回：成功返回0，失败返回-1。
        /// </summary>
        /// <param name="nLEDID"></param>
        /// <returns></returns>
        public Int32 LED_IsDeviceTurnOn(int nLEDID)
        {
            Int32 result = 0;
            try
            {
                result = ledctrl.LED_IsDeviceTurnOn(nLEDID);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            return result;
        }
        ///3.6 检测设备是否离线
        ///定义: int LED_IsDeviceOffline( int nLEDID );
        ///功能: 检测指定的LED显示屏设备是否处于离线状态
        ///输入: nLEDID – 设备ID号
        ///返回: 0 表示离线 1 表示在线
        public Int32 LED_IsDeviceOffline(int nLEDID)
        {
            Int32 result = 0;
            try
            {
                result = ledctrl.LED_IsDeviceTurnOn(nLEDID);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            return result;
        }

        /// <summary>
        /// 屏幕亮度控制
        /// </summary>
        /// <param name="nLEDID"></param>
        /// <param name="lValue"></param>
        /// <returns></returns>
        public Int32 LED_SetBright(int nLEDID, Int32 lValue)
        {
            Int32 result = 0;
            try
            {
                result = ledctrl.LED_SetBright(nLEDID, lValue);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            return result;
        }

        /// <summary>
        /// 3.7 获取屏幕亮度
        /// 函数：long LED_GetBright( int nLEDID );
        /// 功能：获取远程显示屏的亮度值
        /// 输入：nLEDID - 设备ID
        /// 返回：long 获取到的亮度值
        /// </summary>
        /// <param name="nLEDID"></param>
        /// <returns></returns>
        public Int32 LED_GetBright(int nLEDID)
        {
            Int32 result = 0;
            try
            {
                result = ledctrl.LED_GetBright(nLEDID);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            return result;
        }

        public Int32 LED_Restart(int nLEDID)
        {
            Int32 result = 0;
            try
            {
                result = ledctrl.LED_Restart(nLEDID);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            return result;
        }
        public int LED_AdjustCurrentTime(int nLEDID)
        {
            Int32 result = 0;
            try
            {
                result = ledctrl.LED_AdjustCurrentTime(nLEDID);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            result = 0;
            return result;
        }

        public int LED_PreUploadBMP(int nLEDID, string szBmpFile)
        {  
            Int32 result = 0;
            try
            {
                result = ledctrl.LED_PreUploadBMP(nLEDID, szBmpFile);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            result = 0;
            return result;
        }
        public int LED_RemoveUploadedBmp(int nLEDID, string szBmpFile)
        {
            Int32 result = 0;
            try
            {
                result = ledctrl.LED_RemoveUploadedBmp(nLEDID, szBmpFile);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            result = 0;
            return result;
        }
        public Int32 LED_GetFreeUploadBmpSpace(int nLEDID)
        {

            Int32 result = 0;
            try
            {
                result = ledctrl.LED_GetFreeUploadBmpSpace(nLEDID);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            result = 0;
            return result;
        } 
        ///3.14	屏幕初始化
        ///定义: int LED_LEDScreenInit( int nLEDID, int nScreenType, int nWidth, int nHeight );
        ///功能: 在每一次准备向指定屏幕下发数据前，对屏幕进行的初始化操作调用
        ///输入: nLEDID – 设备ID号
        ///nScreenType – 屏幕类型(目前为异步屏协议，该参数可忽略)
        ///nWidth – 屏幕宽度
        ///nHeight – 屏幕高度
        ///返回：成功返回0，失败返回-1
        public   Int32 LED_LEDScreenInit(int nLEDID, int nScreenType, int nWidth, int nHeight)
        {
            Int32 result = 0;
            try
            {
                result = ledctrl.LED_LEDScreenInit(nLEDID,nScreenType,nWidth,nHeight);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            result = 0;
            return result;
        }
        public Int32 LED_BeginProgram(int nLEDID, Int32 lDisplayTime, string szBackBMP)
        {
            Int32 result = 0;
            try
            {
                result = ledctrl.LED_BeginProgram(nLEDID, lDisplayTime,szBackBMP);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            result = 0;
            return result;
        }
        public void LED_AddTextBlock(int nLEDID, string szText, LEDBlock rect, ref FontDescriptor lpFont, int nEffectType, int nSpeed, Int32 lTrasnparent)
        {
            try
            { 
                ledctrl.LED_AddTextBlock(nLEDID, szText, rect, ref lpFont, nEffectType, nSpeed, lTrasnparent); 
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            return;
        }
        public Int32 LED_AddBmpBlock(int nLEDID, string szBmpFile, LEDBlock destRect, LEDBlock sourceRect, int nEffectType, int nSpeed, Int32 lTrasnparent)
        {  
            Int32 result = 0;
            try
            { 
              ledctrl.LED_AddBmpBlock(nLEDID, szBmpFile, destRect, sourceRect, nEffectType, nSpeed, lTrasnparent);
              
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            result = 0;
            return result;
        }

        public void LED_AddClockBlock(int nLEDID, LEDBlock rect, ref ClockDescriptor lpClock, ref FontDescriptor lpFont, int nEffectType, int nSpeed, Int32 lTrasnparent)
        {
            Int32 result = 0;
            try
            {
                ledctrl.LED_AddClockBlock(nLEDID, rect, ref lpClock, ref lpFont, nEffectType, nSpeed, lTrasnparent);
                result = 0;
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            return; 
        }
        public Int32 LED_EndProgram(int nLEDID)
        {
            int result = 0;

            try
            {
                result = ledctrl.LED_EndProgram(nLEDID);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            result = 0;
            return result;
        }
        public int LED_SendToScreen(int nLEDID)
        {
            int result = 0;

            try
            {
                result = ledctrl.LED_SendToScreen(nLEDID);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            result = 0;
            return result;
        }

        public Int32 LED_FastenProgram(int nLEDID)
        {
            Int32 result = 0;
            try
            {
                result = ledctrl.LED_FastenProgram(nLEDID);
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            result = 0;
            return result;
        }
        /*
        public   Int32 LED_LEDClear(int nLEDID)
        {
            Int32 result = 0;

            try
            {

            }
            catch (Exception ex)
            {
            }
            return result;
        }        
          
        public   void LED_AddLine(int nLEDID, int x0, int y0, int x1, int y1, Int32 lColor)
        {
            Int32 result = 0;

            try
            {

            }
            catch (Exception ex)
            {
            }
            return;
        }
        
        public   void LED_AddAnimationBlock(int nLEDID, string szPath, int nDir, LEDBlock rcRect)
        {
            Int32 result = 0;

            try
            {

            }
            catch (Exception ex)
            {
            }
            return;
        }
        
        public   void LED_AddVideoBlock(int nLEDID, string szPath, LEDBlock rcRect)
        {
            Int32 result = 0;

            try
            {

            }
            catch (Exception ex)
            {
            }
            return;
        }
         
        public   int LED_DeleteProgram(int nLEDID, int nProgramID)
        {
            int result = 0;

            try
            {

            }
            catch (Exception ex)
            {
            }
            return result;
        }
         
        public   Int32 LED_RunProgram(int nLEDID, int nProgramID)
        {
            Int32 result = 0;

            try
            {

            }
            catch (Exception ex)
            {
            }
            return result;
        }
         * */
    } 
} 
